/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.fatecpg.zanotti.acessobanco;

import br.com.fatecpg.zanotti.modelo.Contas_receber;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 * Classe responsável por realizar toda a Manipulação de Dados referente a tabela Contas_receber do Banco de Dados.
 * @author F.L. Zanotti
 */
public class dmlConta_Rec {
/**
 * Método responsável pela rotina de INSERT no banco de dados
 * @param Contas_receber Objeto Contas_receber
 * @return boolean
 */
    public static boolean cadastrar(Contas_receber Contas_receber) {

        try {
            Connection con = AbreConexao.getConexao();

            String query = "INSERT INTO CONTAS_RECEBER(CDNOTAFISCAL, CDVENDA, " +
                    "DTRECEBER, DSCONTARECEBER, NMORIGEM, VLRECEBER)" +
                    "VALUES(?, ?, ?, ?, ?, ?) ";


            PreparedStatement pst = con.prepareStatement(query);


            pst.setInt(1, Integer.parseInt(Contas_receber.getCDVENDA()));
            pst.setInt(2, Integer.parseInt(Contas_receber.getCDNOTAFISCAL()));
            pst.setString(3, (Contas_receber.getDTRECEBER()));
            pst.setString(4, (Contas_receber.getDSCONTARECEBER()));
            pst.setString(5, (Contas_receber.getNMORIGEM()));
            pst.setInt(6, Integer.parseInt(Contas_receber.getVLRECEBER()));



            pst.execute();
            con.commit();
            con.close();
            pst.close();
            javax.swing.JOptionPane.showMessageDialog(null, "Cadastro Contas a receber realizado com sucesso");
            return true;
        } catch (SQLException e) {
            javax.swing.JOptionPane.showMessageDialog(null, e);
            return false;
        }
    }
    /**
 * Método responsável pela rotina de DELETE no banco de dados
 * @param cd Texto
 * @return boolean
 */
           public static boolean deletar(String cd) {


            try {
            Connection con = AbreConexao.getConexao();

            String query = "DELETE FROM Contas_receber " +
                    "WHERE CDNOTAFISCAL = ?";

            PreparedStatement pst = con.prepareStatement(query);

            pst.setString(1, cd);

            pst.execute();
            con.commit();
            con.close();
            pst.close();
            javax.swing.JOptionPane.showMessageDialog(null, "O registro foi apagado com sucesso");
            return true;
        } catch (SQLException e) {
            javax.swing.JOptionPane.showMessageDialog(null, e);
            return false;
        }
    }
/**
 * Método responsável pela rotina de UPDATE no banco de dados
 * @param Contas_receber Objeto Contas_receber
 * @return boolean
 */
           public static boolean atualizar(Contas_receber Contas_receber) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "UPDATE Contas_receber SET " +
                    "DTRECEBER = ?, " +
                    "DSCONTARECEBER = ?, " +
                    "NMORIGEM = ?, " +
                    "VLRECEBER = ? " +
                    "WHERE CDVENDA = ?";

            PreparedStatement pst = con.prepareStatement(query);

            pst.setString(1, Contas_receber.getDTRECEBER());
            pst.setString(2, Contas_receber.getDSCONTARECEBER());
            pst.setString(3, Contas_receber.getNMORIGEM());
            pst.setString(4, Contas_receber.getVLRECEBER());
            pst.setString(5, Contas_receber.getCDVENDA());



            pst.execute();
            con.commit();
            con.close();
            pst.close();
            javax.swing.JOptionPane.showMessageDialog(null, "Atualização realizada com sucesso");
            return true;
        } catch (SQLException e) {
            javax.swing.JOptionPane.showMessageDialog(null, e);
            return false;
        }
    }
}
